#ifndef FORM_H
#define FORM_H

#include <Fl/Fl.h>
#include <Fl/Fl_Double_Window.h>
#include <Fl/Fl_Box.h>
#include <Fl/Fl_Counter.h>
#include <Fl/Fl_Scrollbar.h>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Value_Output.H>
#include <FL/Fl_Multiline_Input.H>
#include <FL/Fl_Text_Editor.H>
#include <FL/Fl_Text_Buffer.H>
#include <Fl/Fl_File_Chooser.h>
#include <FL/Fl_Value_Input.H>
#include <FL/Fl_Choice.H>
#include <stdlib.H>

#include "Fl_Gel_Tabs.h"
#include "Cetele.h"
#include "etoolbar.h"
class Cetele;
class Form : public Fl_Double_Window
{
    public:
        Form(int w,int h);
        virtual ~Form();
        static void Menu_CB(Fl_Widget*w, void* data);
        void Menu_CB2();
        static void Save_CB(Fl_Widget*w, void* data);
        void Save_CB2();
        int eleman();
        Fl_Group * prop();
        void prokaldir();
        Fl_Group * progonder();
        void prosecim(Fl_Group *ppro);

        static void aktar_CB(Fl_Widget *p,void *userdata);
        void aktar_CB2();

        Fl_Group *textPage();
        Fl_Group *genelPage();
        Fl_Gel_Tabs *altpro();
        Fl_Multiline_Input * kutumetin();
        Fl_Gel_Tabs *tasarim();
        Fl_Group *Code();

        void textX(int px);
        void textY(int py);
        void textW(int pw);
        void textH(int ph);
        void textR(int pr);
        void textG(int pg);
        void textB(int pb);
        void textAlpha(int pa);
        void textScrollv(int pscroll);
        void textScrollh(int pscroll);

        Fl_Value_Input *winWidth();
        Fl_Value_Input *winHeigth();
        Fl_Value_Input *winLeft();
        Fl_Value_Input *winTop();

        Fl_Input *npcHarita();
        Fl_Input *npcName();
        Fl_Value_Input *npcX();
        Fl_Value_Input *npcY();
        Fl_Value_Input *npcYon();
        Fl_Counter *npcId();

        static void wR_CB(Fl_Widget *p,void *userdata);
        void wR_CB2();
        static void wG_CB(Fl_Widget *p,void *userdata);
        void wG_CB2();
        static void wB_CB(Fl_Widget *p,void *userdata);
        void wB_CB2();
        static void wAlpha_CB(Fl_Widget *p,void *userdata);
        void wAlpha_CB2();
        static void wScrollv_CB(Fl_Widget *p,void *userdata);
        void wScrollv_CB2();
        static void wScrollh_CB(Fl_Widget *p,void *userdata);
        void wScrollh_CB2();
    protected:
    private:
        Fl_Gel_Tabs *design;
        Cetele *circuit;
        Fl_Menu_Bar *menu;
        Fl_Menu_Bar *componentsec;
        Fl_Group *soru;
        Fl_Group *properties;
        Fl_Group *pro;
        Fl_Group *code;
        Fl_Multiline_Input *viewcode;

        ///text
        Fl_Box *etiket[10];
        Fl_Value_Output *wx;
        Fl_Value_Output *wWidth;
        Fl_Value_Output *wHeight;
        Fl_Value_Output *wy;
        Fl_Value_Input *wR;
        Fl_Value_Input *wG;
        Fl_Value_Input *wB;
        Fl_Choice *wSefaf;
        Fl_Choice *wScrollv;
        Fl_Choice *wScrollh;
        Fl_Gel_Tabs *genelpro;
        ///genel
        Fl_Value_Input *pWidth;
        Fl_Value_Input *pHeigth;
        Fl_Value_Input *pLeft;
        Fl_Value_Input *pTop;
        ///npc
        Fl_Input *nHarita;
        Fl_Input *nName;
        Fl_Value_Input *nX;
        Fl_Value_Input *nY;
        Fl_Value_Input *nYon;
        Fl_Counter *nId;
        ///
        Fl_Group *page1;
        Fl_Group *page2;
        Fl_Group *page3;
        Fl_Button *sil;
        Fl_Button *tumusil;
        Fl_File_Browser *browser;

        std::string path;
        std::string filename;
};

#endif // FORM_H
